#include <iostream>

using namespace std;

int n, k, ans, arr[25];

bool IsPrime(int n) {
	if (n == 2 || n == 3) {
		return true;
	}

	for(int i=2; i*i <= n; i++) {
		if (n % i == 0) {
			return false;
		}
	}

	return true;
}


void Dfs(int index, int sum, int cnt){
	//结算
	if (cnt == k){
		if (IsPrime(sum)) {
			ans++;
		}
		return;
	}

	//我再提供一个数
	for(int i=index; i < n; i++) {
		Dfs(i + 1, sum + arr[i], cnt + 1);
	}


}

/**
 * https://www.luogu.com.cn/problem/P1036
 * 选数
 */
int main() {
	cin >> n >> k;


	for(int i=1;i<=n;i++) {
		cin >> arr[i];
	}

	Dfs(0, 0, 0);

    cout << ans << endl;
		

	return 0;
}